package com.zhike.common.vo;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class ChatSessionVO implements Serializable {

    @ApiModelProperty(value = "发送方")
    private String fromUid;

    @ApiModelProperty(value = "接收")
    private String toUid;

    @ApiModelProperty(value = "群ID")
    private String groupId;

    @ApiModelProperty(value = "接收方昵称")
    private String toNickname;

    @ApiModelProperty(value = "聊天类型 0正常聊天 1临时聊天(陌生人聊天) 2普通群聊或世界频道")
    private String chatType;

    @ApiModelProperty(value = "群名称")
    private String groupName;

    @ApiModelProperty(value = "消息类型")
    private String msgType;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "最后一条消息")
    private String lastMsg;

    @ApiModelProperty(value = "最新一条消息的发送人UId")
    private String lastMsgUid;

    @ApiModelProperty(value = "最新一条消息的发送人昵称")
    private String lastMsgNickname;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastTime;

    @ApiModelProperty(value = "是否置顶")
    private Integer isTop;

    @ApiModelProperty(value = "免打扰")
    private Integer nodisturb;

    @ApiModelProperty(value = "消息通知数")
    private Integer notifyCount;

    @ApiModelProperty(value = "被@")
    private Integer at;

    @ApiModelProperty(value = "指纹码")
    private String fp;

    @ApiModelProperty(value = "会话ID")
    private String sessionId;

    @ApiModelProperty(value = "会话未读数")
    private long unReadCount;

    @ApiModelProperty(value = "头像更新时间")
    private long avatarUpdatetime;
}
